{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets, manifold, manifold"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LLE它能够使降维后的数据较好地保持原有 流形结构"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用sklearn自带的鸢尾花分类数据\n",
    "def load_data():\n",
    "    iris = datasets.load_iris()\n",
    "    return iris.data,iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "reconstruction_error(n_components=4) :7.199368774565022e-07\n",
      "reconstruction_error(n_components=3) :3.8706050848036315e-07\n",
      "reconstruction_error(n_components=2) :6.641421102177113e-08\n",
      "reconstruction_error(n_components=1) :3.876930801133758e-15\n"
     ]
    }
   ],
   "source": [
    "def test_LLE(*data):\n",
    "    x, y = data\n",
    "    for n in (4,3,2,1):\n",
    "        lle = manifold.LocallyLinearEmbedding(n_components=n)\n",
    "        lle.fit(x)\n",
    "        # 显示重构误差\n",
    "        print('reconstruction_error(n_components={0}) :{1}'.format(n, lle.reconstruction_error_))\n",
    "\n",
    "x,y =load_data()\n",
    "test_LLE(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ZqW+vuAxn294l3H/2Nxds7Ozsd8n7h/bM888o8997nP60Y9+pPvvv1+f+9zn9Oyzz8Z+XwAAAAD1ySuvrLLqU5+yyiqvxtsfAGJocgyA9j/BpoXyeWl4WJqclNyDx+Hhhv/YrrjiCj3++ONavXq1Lr/8cq1du1ZvfvObdfzxx+vmm2+WJE1MTOhNb3qTPvjBD2rVqlV68skn9fWvf11HHXWUTjrpJH3sYx/TZZddJknasWOH3vve92rNmjVas2aN7r33Xk1MTGjDhg364he/qNWrV+uee+6pWa7bbrtNp59+upYvX66DDjpIp59+um699daGPisAoIO14IYLAKCyvPIa1rAmNSmXa1KTGtYwASegXVoQA6D9Ly1qyV472ciINDMzf93MTLA+l6t7t1dddZV+9rOfaevWrdqzZ49mZmb06le/Wjt37tTJJ5+sc845R5L06KOPauPGjTr55JP11FNP6Qtf+IJ+8pOf6IADDtA73/lOnXjiiZKkT3ziE7r88st16qmnampqSmeeeaYefvhhXXLJJVq2bJk+9alPSZLy+byuvvrqBeU54ogjdNNNN2n79u16wxvesG/9ihUrtH379ro/JwCggxUrW8XrYLGyJTV0DQQAVDaiEc1ofvtjRjMa0Yhy4twLtFwLYgC0/xMONpnZWZK+LKlf0t+6+1Vlr18i6eOS9kraJWnY3R9qaaGmpuKtr4O768orr9Tdd9+tvr4+bd++XU8//bQkKZPJ6OSTT5Yk3X///TrttNO0fPlySdKFF16oRx55RJJ0++2366GH5g7FCy+8oF27di14r1wupxwNBABAFC264QIAqGxK4e2MSusBNFmLYwC92v5PLNhkZv2SvirpdEnbJP3YzG4pCyb9D3ffUNj+HEl/JemslhZs5crgTm7Y+ibJ5/PasWOHtmzZosWLFyubzerll1+WJO2///6R9jE7O6v77rtPS5curfle1SKbhx12mO66665967dt26a3v/3tkT8LAKCLtOGGCwBgvpVaqUktbH+sVPPaHwCqaHEMoFfb/0nmbDpJ0mPu/gt3f0XSNyWdW7qBu79Q8nR/Sd7yUo2OSgMD89cNDATrG3DAAQfoxRdflCQ9//zzOvTQQ7V48WLdeeedmgz7w5a0Zs0aff/739ezzz6rPXv26Nvf/va+18444wxde+21+55v3bp1wftIQWRz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5phjEipRY3bt2qVly5Zpz549Ov/88/XhD39Y559/fiJl6eTjCADoLma2xd2Hki4H5oTVwYBeUJzJqjzBcNGABppy8xpAdJ3adk17+z9O/YueTSn32c9+VqtXr9aqVat0+OGH67zzzku6SAAAAAAKwmayKlWc1QoAaumm9j8JwlPummuuSboIAAAAACqIMmNVM2e2BtC9uqn9T88mAABQWT4vZbNSX1/wmCf3CACUijJjVTNntgaATkCwCQAAhMvnpeFhaXJScg8eh4cJOAFAibCZrEo1Y2ZrAOg0BJsAAMBC+by0bp00U5aHZGZGGiH3CAAUlc9kNVj418yZrQGg05CzCQAAzFfs0bR3b/jrU+QeAYBSucI/AECAnk1t8txzz+m6665r+fvcdddd+sEPfhB5+61bt+p3fud3dNxxx+mEE07Qt771rRaWDgDQEUZGFvZoKrWS3CMAAACV0P4n2BSqFblQ4/6xubtmZ2djv0/cP7aBgQFdf/31evDBB3Xrrbfqj//4j/Xcc8/Ffl8AQBep1nNpYEAaJfcIehDJ8gGgazX7FE/7n2F0CxRHDhRv6BZzoUpSroGesVdccYUef/xxrV69Wu94xzv0wAMP6Nlnn9Xu3bv153/+5zr33HM1MTGhM888U29961u1ZcsWbd68Wbfffrv+4i/+QgceeKBOPPFEvepVr9Jf//Vfa8eOHbrkkks0VWgQfOlLX9Jhhx2mDRs2qL+/X5s2bdK1116rt73tbVXLddRRR+37+fWvf70OPfRQ7dixQwceeGD9HxYA0NlWrgwugOX6+6WxscYuiEAnalUFEQCQuFac4mn/K4igddPylre8xcs99NBDC9ZVksm4B1PuzF8ymci7CPXEE0/4cccd5+7uu3fv9ueff97d3Xfs2OFvfOMbfXZ21p944gk3M//hD3/o7u7bt2/3TCbj09PT/sorr/ipp57qH//4x93d/f3vf7/fc8897u4+OTnpRx99tLu7/9mf/ZlfffXV+95306ZNfuKJJy5Y3vve9y4o449+9CM/+uijfe/evaGfIc5xBAB0sE2b3AcG5l8IzdzXr0+6ZPtIGvcU1DtYqtfBukarKogAgJZIOgbQre3/OPUvejaVqTRyoJm5UN1dV155pe6++2719fVp+/btevrppyVJmUxGJ598siTp/vvv12mnnably5dLki688EI9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\n",
      "text/plain": [
       "<Figure size 1440x720 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 将数据降低至2维\n",
    "def plot_LLE_k(*data):\n",
    "    x,y = data\n",
    "    Ks = [1,5,25,y.size-1]\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(10)\n",
    "    fig.set_figwidth(20)\n",
    "    for i,k in enumerate(Ks):\n",
    "        lle = manifold.LocallyLinearEmbedding(n_components=2, n_neighbors=k)\n",
    "        x_r = lle.fit_transform(x)\n",
    "        \n",
    "        ax = fig.add_subplot(2,2,i+1)\n",
    "        colors=((1,0,0),(0,1,0),(0,0,1),(0.5,0.5,0),(0,0.5,0.5),(0.5,0,0.5),(0.4,0.6,0),(0.6,0.4,0),(0,0.6,0.4),(0.5,0.3,0.2),)\n",
    "        for label,color in zip(np.unique(y),colors):\n",
    "            position =y==label\n",
    "            ax.scatter(x_r[position,0],x_r[position,1],label='target={0}'.format(label),color=color)\n",
    "    \n",
    "        ax.set_xlabel('X')\n",
    "        ax.set_ylabel('Y')\n",
    "        ax.legend(loc='best')\n",
    "        ax.set_title('k ={0}'.format(k))\n",
    "    plt.suptitle('LLE')\n",
    "    plt.show()\n",
    "\n",
    "x,y =load_data()\n",
    "plot_LLE_k(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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889Pkqxfvz7vf//7s3jx4ixevDh33nlnVq9enWuvvTZXX311Fi5cmDvuuGOndd100005+eSTM3v27LzhDW/IySefnK997WvjOlcAgDHTg02oGRO+RwBgaqxcmZx7brJx4+Dtxx4bvJ0ky5ePaZdXXnll7r///qxatSqbN2/Oxo0bc8ABB+Tpp5/O0qVL8973vjdJ8vDDD2fFihVZunRpnnjiiVx++eW57777MmvWrLz73e/O29/+9iTJxz/+8VxwwQU54YQTsmbNmpx66ql58MEHc95552X//ffPhRde2DuVlbnqqqt2qOfwww/PDTfckHXr1uXNb37z1vXz5s3LunXrxnSOAADjogcb0zm+GuEUAExXl1zySlP0so0bB9ePsTEaqrWWiy++OLfffnv22muvrFu3Lk899VSS5NBDD83SpUuTJPfcc09OPPHEzJ49O0ly5pln5qGHHkqS3HzzzXnggQe27vOFF17Iiy++uMOxli9fnuUTUDMAwKTTg0044RQATFdr1uza+l20cuXKrF+/Pvfee29mzpyZ+fPnZ9OmTUmS/fbbb1T72LJlS+6+++7ss88+Oz3Wq71qN3fu3Nx2221b169duzbvete7Rn0uAAATRg826nMZLXNOAcB0dcghu7Z+FGbNmpUf/ehHSZLnn38+Bx10UGbOnJlbb701jz322LCPWbx4cb75zW9mw4YN2bx5c770pS9tve+UU07JZz/72a23V61atcNxksFX7VatWrXDcsMNNyRJTj311Hz961/Phg0bsmHDhnz961/PqaeeOubzBAAYMz3YmM9zJMIpAJiurrgi2Xffbdftu+/g+jGaM2dOjj/++Bx99NFZtWpVBgYGcswxx+T666/PW9/61mEfM3fu3Fx88cVZsmRJjj/++MyfPz+vf/3rkySf+cxnMjAwkGOPPTYLFizItddemyR5z3veky9/+cujnoxz9uzZ+d3f/d2tk3r+3u/93tZL2AEAppQebMznOZJqrU34TqebRYsWtYGBga7LAIA8+OCDedvb3jb6B6xcOTi/wZo1g6/WXXHFhMx1sKtefPHF7L///tm8eXPOOOOMfPjDH84ZZ5wx5XUkw49hVd3bWlvUSUGMSA8GQL/Qg43feHowc04BwHS2fHknjdD2Lr300tx8883ZtGlTTjnllJx++uldlwQAMHn0YBNKOAUAjNun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6KCDsn79+vGdLADAGOnBJtaMCd8jADAlVq5Mzj032bhx8PZjjw3eTpLly8e2zyuvvDL3339/Vq1alc2bN2fjxo054IAD8vTTT2fp0qV573vfmyR5+OGHs2LFiixdujRPPPFELr/88tx3332ZNWtW3v3ud+ftb397kuTjH/94LrjggpxwwglZs2ZNTj311Dz44IM577zzsv/+++fCCy/sncvKXHXVVTvUc/jhh+eGG27YZt0999yTH//4x/mZn/mZsZ0kAMA46MEmvgcTTgHANHXJJa80RS/buHFw/Vgbo6Faa7n44otz++23Z6+99sq6devy1FNPJUkOPfTQLF26NMlgo3LiiSdm9uzZSZIzzzwzDz30UJLk5ptvzgMPPLB1ny+88EJefPHFHY61fPnyLB9F0U8++WQ+9KEPZcWKFdlrLxeAAwBTTw828T2YcAoApqk1a3Zt/a5auXJl1q9fn3vvvTczZ87M/Pnzs2nTpiTJfvvtN6p9bNmyJXfffXf22WefnR5rZ6/avfDCC/nFX/zFXHHFFVubMgCAqaYHm3hecgSAaeqQQ3Zt/WjMmjUrP/rRj5Ikzz//fA466KDMnDkzt956ax577LFhH7N48eJ885vfzIYNG7J58+Z86Utf2nrfKaecks9+9rNbb69atWqH4ySDr9qtWrVqh+XlpujHP/5xzjjjjJx11ln5wAc+MPYTBAAYJz3YxBNOAcA0dcUVyb77brtu330H14/VnDlzcvzxx+foo4/OqlWrMjAwkGOOOSbXX3993vrWtw77mLlz5+biiy/OkiVLcvzxx2f+/Pl5/etfnyT5zGc+k4GBgRx77LFZsGBBrr322iTJe97znnz5y18e9WScf/7nf57bb789n//857Nw4cIsXLhwa5MFADCV9GAT34NVa23CdzrdLFq0qA0MDHRdBgDkwQcfzNve9rZRb79y5eD8BmvWDL5ad8UVEzPXwa568cUXs//++2fz5s0544wz8uEPfzhnnHHG1BeS4cewqu5trS3qpCBGpAcDoF/owcZvPD2YOacAYBpbvrybRmh7l156aW6++eZs2rQpp5xySk4//fSuSwIAmDR6sIklnAIAxu3Tn/501yUAAOxxdpcezJxTANBnvOV+7IwdADBW+oixG+/YCacAoI/ss88+eeaZZzRHY9BayzPPPLPTj0wGANieHmzsJqIH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jKraJ8lLrbWfJDky274A+GSS9yT5m95jj03yUG+bjyV5U5LPj+GcgD7jlX9g2mqtPZfk5CS/UFWXj2NX/0uSX0pySpLnhrzK987e/f8syV1J/r739W+T/KtxHA8AYNqYwJ4rSf5DBl8Q/JUkl/S+/1DvOD/sTafwg9bay1dOPd1a+4fe9x/KYGD1wwxeZXVya+0fx1kP0AeqtdZ1DQAAAADsoVw5BQAAAEBnhFMAAAAAdEY4BQAAAEBnhFMAAAAAdGZG1wX0gze+8Y1t/vz5XZcBAEySe++99+nW2oFd18G29GAAsHsbbQ8mnEoyf/78DAwMdF0GADBJquqxrmtgR3owANi9jbYH87Y+AAAAADojnAIAAACgM8IpAAAAADpjzikA6CMvvfRS1q5dm02bNnVdyrS0zz77ZN68eZk5c2bXpQAA04gebHzG24MJpwCgj6xduzazZs3K/PnzU1VdlzOttNbyzDPPZO3atTnssMO6LgcAmEb0YGM3ET2Yt/UBQB/ZtGlT5syZoykag6rKnDlzvOIJAOwyPdjYTUQPJpwCgD6jKRo7YwcAjJU+YuzGO3bCKQAAAAA6I5wCALZ67rnncs0110z6cW677bbcddddu/SYFStW5IgjjsgRRxyRFStWTFJlAABTb0/vwYRTADCdrVyZzJ+f7LXX4NeVK8e1u11tjFpr2bJlyy4fZ1cbo2effTaXXXZZvvWtb+Wee+7JZZddlg0bNuzycQEAJoQebEIJpwBgulq5Mjn33OSxx5LWBr+ee+64mqOLLroojz76aBYuXJgLLrggy5Yty3HHHZdjjjkmN954Y5Jk9erVectb3pKzzjorRx99dB5//PFcd911OfLII7NkyZKcc845Of/885Mk69evz/vf//4sXrw4ixcvzp133pnVq1fn2muvzdVXX52FCxfmjjvu2GldN910U04++eTMnj07b3jDG3LyySfna1/72pjPEwBgzPRgYz7PkcyY8D0CAFPjkkuSjRu3Xbdx4+D65cvHtMsrr7wy999/f1atWpXNmzdn48aNOeCAA/L0009n6dKlee9735skefjhh7NixYosXbo0TzzxRC6//PLcd999mTVrVt797nfn7W9/e5Lk4x//eC644IKccMIJWbNmTU499dQ8+OCDOe+887L//vvnwgsvTJKsXLkyV1111Q71HH744bnhhhuybt26vPnNb966ft68eVm3bt2YzhEAYFz0YGM6x1cjnAKA6WrNml1bv4taa7n44otz++23Z6+99sq6devy1FNPJUkOPfTQLF26NElyzz335MQTT8zs2bOTJGeeeWYeeuihJMnNN9+cBx54YOs+X3jhhbz44os7HGv58uVZPsZmDgBgSunBJpxwCgCmq0MOGbyMfLj1/3979x8k11neC/77jjSyMpIwWLK5IGONE3DAlo1ukI2zhgtBjuX8MLYreMPGFbyXXLTI4V7CFqk1dpF4IaoygV1yMSEub8jFRpMKrCkv3hTBYMDAhnJgxCrE4AXb4B8yDhFG/oXjgNC7f3SP3Br1zPR0z8yZkT6fqVPTfc573vOcV61znvNM9+k5MDY2lr1792bXrl0ZHh7O6Ohonn766STJqlWreurjwIEDueOOO7Jy5coZtzXdX+3Wr1+f22+//eD8PXv25NWvfnXP+wIAMGfkYD3vS6/ccwoAlqodO5KRkUPnjYy05vdpzZo1eeKJJ5Ikjz32WE444YQMDw/nC1/4Qu7vloQlOfPMM/PFL34x+/bty/79+/OJT3zi4LLzzjsv11577cHnu3fvPmw7Seuvdrt37z5suummm5IkW7duzWc+85ns27cv+/bty2c+85ls3bq17/0EAOibHKzv/ZyK4hQALFWXXppcf32yYUNSSuv39df3fa+DJFm7dm3OOeecbNy4Mbt37874+HhOP/303HjjjXnxi1/cdZ3169fnyiuvzFlnnZVzzjkno6OjOfbYY5MkH/jABzI+Pp4zzjgjp556aq677rokyQUXXJCbb76555txHnfccXnnO9958Kaef/RHf3TwLewAAAtKDtb3fk6l1FrnvNOlZvPmzXV8fLzpMAAgd911V17ykpc0HcasPfnkk1m9enX279+fiy++OG984xtz8cUXNxJLtzEspeyqtW5uJCCmJAcDYLGQgw1ukBzMO6cAgIFdffXV2bRpUzZu3JiTTz45F110UdMhAQAc8Y6UHMwN0QGAgb3vfe9rOgQAgKPOkZKDeecUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxihOAQAHPfroo/nQhz4079u5/fbb85WvfGVW65x//vl59rOfnd/8zd+cp6gAAJpxtOdgilMAsISNZSyjGc1QhjKa0YxlbKD+ZpsY1Vpz4MCBWW+nn8ToD//wD/PRj3501tsCAJhrcrC5pTgFAEvUWMayLdtyf+5PTc39uT/bsm2g5OiKK67Ivffem02bNuVtb3tbtmzZkl/6pV/K6aefnk9+8pNJkvvuuy+/+Iu/mDe84Q3ZuHFjHnzwwXz4wx/OKaeckrPOOitvetOb8pa3vCVJsnfv3vzWb/1WzjzzzJx55pn5+7//+9x333257rrr8v73vz+bNm3Kl7/85Z5i27JlS9asWdP3vgEAzAU52NxbPq+9z6CUcn6S/5pkWZK/rLVeM2n5MUluTPKyJI8k+e1a632llLVJbkpyZpKP1Frf0rHOy5J8JMnPJflUkrfWWusC7A4ALKirclWeylOHzHsqT+WqXJVLc2lffV5zzTW58847s3v37uzfvz9PPfVUnvWsZ+WHP/xhzj777Lz2ta9Nktx999254YYbcvbZZ+f73/9+3v3ud+frX/961qxZk9e85jV56UtfmiR561vfmre97W15xStekQceeCBbt27NXXfdlTe/+c1ZvXp13v72tydJxsbG8t73vveweF74whfmpptu6mtfmJocDAD6Jwebe40Vp0opy5L8eZJfTbInyddKKbfUWr/V0ez3kuyrtb6wlPL6JO9J8ttJnk7yziQb21Onv0jypiT/kFZidH6Sv5vPfQGAJjyQB2Y1f7ZqrbnyyivzpS99KUNDQ3nooYfygx/8IEmyYcOGnH322UmSr371q3nVq16V4447LklyySWX5Dvf+U6S5Lbbbsu3vvXMqf3xxx/Pk08+edi2Lr300lx6aX/JHLMjBwOAwcjB5l6T75w6K8k9tdbvJkkp5W+SXJikMzG6MMnV7cc3JflgKaXUWn+c5P8ppbyws8NSyvOSPKvWekf7+Y1JLorECIAj0Ek5Kffn/q7z58LY2Fj27t2bXbt2ZXh4OKOjo3n66aeTJKtWreqpjwMHDuSOO+7IypUrZ9zWYvir3VFCDgYAA5CDzb0m7zm1PsmDHc/3tOd1bVNr3Z/ksSRrZ+hzzwx9JklKKdtKKeOllPG9e/fOMnQAaN6O7MhIRg6ZN5KR7MiOvvtcs2ZNnnjiiSTJY489lhNOOCHDw8P5whe+kPvvPzwJS5IzzzwzX/ziF7Nv377s378/n/jEJw4uO++883LttdcefL579+7DtpO0/mq3e/fuwyaFqXkhBwOAAcjB5t5Re0P0Wuv1tdbNtdbNxx9/fNPhAMCsXZpLc32uz4ZsSEnJhmzI9bm+73sdJMnatWtzzjnnZOPGjdm9e3fGx8dz+umn58Ybb8yLX/ziruusX78+V155Zc4666ycc845GR0dzbHHHpsk+cAHPpDx8fGcccYZOfXUU3PdddclSS644ILcfPPNs7oZ5ytf+cpccskl+dznPpcTTzwxt956a9/7SXPkYAAsdXKwuc/BmvxY30NJXtDx/MT2vG5t9pRSlic5Nq2bck7X54kz9AkAR4xL2z9z6a//+q9nbHPnnXce8vx3fud3sm3btuzfvz8XX3xxLrrooiTJunXr8rGPfeyw9U855ZR84xvfmFVcvSZQzEgOBgADkoPNrSbfOfW1JC8qpZxcSlmR5PVJbpnU5pYkl7Ufvy7J56f71pda68NJHi+lnF1KKUnekOSTcx86ANDp6quvzqZNm7Jx48acfPLJBxMjFiU5GAAcIY6UHKyxd07VWveXUt6S5Na0vsb4r2qt3yylvCvJeK31liQfTvLRUso9SX6UVvKUJCml3JfkWUlWlFIuSnJe+1tmLs8zX2P8d3EjTgCYd+973/uaDoEeycEA4MhxpORgTX6sL7XWT6X1VcOd8/6o4/HTSS6ZYt3RKeaP5/CvNgYAoE0OBgAsJkftDdEBAAAAaJ7iFAAAAACNUZwCAAAAoDGKUwDAQY8++mg+9KEPzft2br/99nzlK1/puf3u3bvzy7/8yznttNNyxhlndP1qZACApepoz8EUpwBgCRsbS0ZHk6Gh1u+xscH6m21iVGvNgQMHZr2d2SZGIyMjufHGG/PNb34zn/70p/MHf/AHefTRR2e9XQCAuSAHm1uNflsfANC/sbFk27bkqadaz++/v/U8SS69tL8+r7jiitx7773ZtGlTfuVXfiXf+MY3sm/fvvz0pz/Nn/zJn+TCCy/Mfffdl61bt+blL395du3alU996lO57bbb8p73vCfPfvaz89KXvjTHHHNMPvjBD2bv3r1585vfnAceeCBJ8md/9mdZv359rrvuuixbtiw7d+7Mtddem1e+8pXTxnXKKaccfPz85z8/J5xwQvbu3ZtnP/vZ/e0oAECf5GBzn4MpTgHAEnXVVc8kRROeeqo1v9/E6Jprrsmdd96Z3bt3Z//+/XnqqafyrGc9Kz/84Q9z9tln57WvfW2S5O67784NN9yQs88+O9///vfz7ne/O1//+tezZs2avOY1r8lLX/rSJMlb3/rWvO1tb8srXvGKPPDAA9m6dWvuuuuuvPnNb87q1avz9re/PUkyNjaW9773vYfF88IXvjA33XTTIfO++tWv5ic/+Ul+4Rd+ob+dBAAYgBxs7nMwxSkAWKLafwjref5s1Vpz5ZVX5ktf+lKGhoby0EMP5Qc/+EGSZMOGDTn77LOTtBKVV73qVTnuuOOSJJdcckm+853vJEluu+22fOtb3zrY5+OPP54nn3zysG1deumlubSHbO7hhx/O7/7u7+aGG27I0JC7EwAAC08ONvc5mOIUACxRJ53Ueht5t/lzYWxsLHv37s2uXbsyPDyc0dHRPP3000mSVatW9dTHgQMHcscdd2TlypUzbmumv9o9/vjj+Y3f+I3s2LHjYFIGALDQ5GBzz58cAWCJ2rEjGRk5dN7ISGt+v9asWZMnnuppl4UAACAASURBVHgiSfLYY4/lhBNOyPDwcL7whS/k/m5ZWJIzzzwzX/ziF7Nv377s378/n/jEJw4uO++883LttdcefL579+7DtpO0/mq3e/fuw6aJpOgnP/lJLr744rzhDW/I6173uv53EABgQHKwuac4BQBL1KWXJtdfn2zYkJTS+n399f3f6yBJ1q5dm3POOScbN27M7t27Mz4+ntNPPz033nhjXvziF3ddZ/369bnyyitz1lln5Zxzzsno6GiOPfbYJMkHPvCBjI+P54wzzsipp56a6667LklywQUX5Oabb86mTZvy5S9/eca4Pv7xj+dLX/pSPvKRj2TTpk3ZtGnTwSQLAGAhycHmPgcrtdY573Sp2bx5cx0fH286DADIXXfdlZe85CVNhzFrTz75ZFavXp39+/fn4osvzhvf+MZcfPHFjcTSbQxLKbtqrZsbCYgpycEAWCzkYIMbJAfzzikAYGBXX311Nm3alI0bN+bkk0/ORRdd1HRIAABHvCMlB3NDdABgYO973/uaDgEA4KhzpORg3jkFAIuMj9z3z9gBAP2SR/Rv0LFTnAKARWTlypV55JFHJEd9qLXmkUcemfErkwEAJpOD9W8ucjAf6wOAReTEE0/Mnj17snfv3qZDWZJWrlyZE088sekwAIAlRg42mEFzMMUpAFhEhoeHc/LJJzcdBgDAUUUO1iwf6wMAAACgMYpTAAAAADRGcQoAAACAxihOAQAAANAYxSkAAAAAGqM4BQAAAEBjFKcAAAAAaIziFAAAAACNUZwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilMAAAAANEZxCgAAAIDGNFqcKqWcX0r5dinlnlLKFV2WH1NK+Vh7+T+UUkY7lr2jPf/bpZStHfPvK6X8UylldyllfGH2BABg6ZCDAQCLyfKmNlxKWZbkz5P8apI9Sb5WSrml1vqtjma/l2RfrfWFpZTXJ3lPkt8upZya5PVJTkvy/CS3lVJOqbX+rL3er9Raf7hgOwMAsETIwQCAxabJd06dleSeWut3a60/SfI3SS6c1ObCJDe0H9+UZEsppbTn/02t9d9qrd9Lck+7PwAApicHAwAWlSaLU+uTPNjxfE97Xtc2tdb9SR5LsnaGdWuSz5RSdpVStk218VLKtlLKeCllfO/evQPtCADAEiIHAwAWlSPxhuivqLX+UpJfS/L7pZT/0K1RrfX6WuvmWuvm448/fmEjBAA48sjBAIC+NFmceijJCzqen9ie17VNKWV5kmOTPDLdurXWid//kuTmeKs5AEAnORgAsKg0WZz6WpIXlVJOLqWsSOvmmrdManNLksvaj1+X5PO11tqe//r2N8mcnORFSb5aSllVSlmTJKWUVUnOS3LnAuwLAMBSIQcDABaVxr6tr9a6v5TyliS3JlmW5K9qrd8spbwryXit9ZYkH07y0VLKPUl+lFbylHa7jyf5VpL9SX6/1vqzUspzk9zcul9nlif561rrpxd85wAAFik5GACw2JTWH8GObps3b67j4+NNhwEAzJNSyq5a6+am4+BQcjAAOLL1moMdiTdEBwAAAGCJUJwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilMAAAAANEZxCgAAAIDGKE4BAAAA0BjFKQAAAAAaozgFAAAAQGMUpwAAAABojOIUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxihOAQAAANAYxSkAAAAAGqM4BQAAAEBjFKcAAAAAaIziFAAAAACNUZwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilMAAAAANEZxCgAAAIDGKE4BAAAA0JhGi1OllPNLKd8updxTSrmiy/JjSikfay//h1LKaMeyd7Tnf7uUsrXXPhfa2FgyOpoMDbV+j43Nfdt161pTt/Vm0+eEyy9Pli9PSmn9vvzymdeZaXvTxXv55d2XrV6dLFv2TBznntu976niHRtr9VVKa1q37pltldLqZ2LZmjWt7U08X726e4ylPBNT5+OJ7a9bd2g/69YdPuad8S5b1mo/ed+n+zftNubrRp9MGTqQsubxlKGfpZR6MIaJba1enQwtO9BatuxnKSufarerh4zNxPZ/bs1PDy4v6/amjP1OSkqWZ3lKSta1f4YylNGMZiytIMcyltGMdp2/LutSOn5WZ3VWZuUh8yZ+lmVZLs8zL76JfjtjWJ7lrbhG72/t/+h9OWbsPx6Ma6oYJ/c5sfzyXH7YNpZl2WFxlZTD+hvLWH4uP3dI22NyzLRjNrG9XuKbbl+mGvPp9rVbm0HXmfxvvC7retpOv/GxiFx++TMHvummc89tOlLajoYcbFrdkoRekqSJdSeSgomT7MTJ+vLLD00Uuk2dCcggU+cJvnP+mjWtODr3r3Odc8/tf9+ZUa/ns17P8YNup5e2M52/u63fLS+bvKxz3zrbdcv5uuVc08VySH419l+ybvTJVg47+mRWj207uP5Qhmbsb3VWHxLLuTn3kHmT4zwkD23v97k59+DzoQxlTda09r8dWxmqWT66J+XyP8+y0QdTyoGU5fufycsP5tyP5NzL/7+sXvf0M/MmTaed+1Ar9s5rgNH7sm7sv7RGf5pD1MH97mjTecjqPBycdtr0h7Cp+py4ljjmmEPXW7166mvDNWu6H65OO23669LJh/LOw2uvh7aprl97uSae6Vq7n2vxbusMcsqazXYaV2vtOiX5VJLRqZYPOiVZluTeJD+fZEWSf0xy6qQ2lye5rv349Uk+1n58arv9MUlObvezrJc+u00ve9nL6nzYubPWkZFak2emkZHW/Llu22292fQ5Yfv27n1u397//m7fPn28/U4jI7Vu2dJ92ZYttQ4Pz/02+5lWrHhmzKca3172darXwoqRny7Mvgz/a83O/6Fmip+ROlK31+11pI50nb+irphy3el+ttftdWfdeVi/qWnFM/LkoXGOPDllnCN1pO6srYGcss9Z/Ez0t7PurEN1aKC+Zhtf57a7jflEP1P1NbnNYa+tWa6zs+7s+m88XIen3U6/8bGIzPbAtmVLI2EmGa+1ZilMcrB5tnNn6+Q8+bU5PDx9kjSx7lRJzfLlC3AynqepM1mhb72ez3o9xw+6nV7aznT+7rb+irqiDtfhrrEP1+G+c76pflbUFVPGMttccHJ/y+qyOY11xthyoIf/kjO1OVCff+ojh18DjDxZh7ZfN+W1wXTXiJMPhc9/fm+Hjl77nJiWLRv82nDiunTnzpmv92Y6rE91/TrVNWbnNfFM19r9XIt3W2d4uDVuc3nY7ie2QfSag029ILkkyXeSXJVkuJfOZjMl+eUkt3Y8f0eSd0xqc2uSX24/Xp7kh0nK5LYT7Xrps9s0X4nRhg3dX9QbNsxP28nrzabPCd1e+BMHkn73d6o+j6ZpYswHGYt+XwtzOm343rQn4alO8IOc+JfVZXVD3dB96YbvzTrODbU1kFP2OcufDe2fuehrtvFNt+2Jfqbrq7PNYa+tWa4zXbzTbaff+FhE+jmwNWCJFafkYPNpupPndEnSTOsu9WmmfWdGvZ7Pej3HD7qdXtrOdP6eyxxnkJ8pY+kjF1ywfZsqtjmZpihgLZv+j9bTXSMOcuiYTZ+DXhtOXJf2us3pDm2zHYvOa+KZrrX7uRafbTz9Hrb7iW0QveZgpdW2u1LK6iTvTHJ+ko8mOTCxrNb6v0+5Yg9KKa9Lcn6t9T+1n/9ukpfXWt/S0ebOdps97ef3Jnl5kquT3FFr3dme/+Ekf9debdo+O/relmRbkpx00kkvu//++wfZna6Ghlr/zIdvOzlwYO7bTl4v6b3Pyet1M9M2e4nraDUx5tONb699dFrwMS8HkgPLFnCD7c2mpKbLjg79LKldPp08TZwlJQdyIEMZ6t5nH7ElmZO+JvrrNb7ptj3RT5Ip++psM9ls15ku3um20298LCL9HNgaOFmUUnbVWjcv+Ib7JAebR9OdPKdLkmZad6mbad+ZUa/ns17P8XNxjp6p7Uzn72TucpxBTBlLH7ngtP3NpalimxM1Sbfz71TzW6a7RuzXfPQ5k1p7PxxPd2jr55A+0X6m6/fZXN/3G0+/h+1+YhtErznYTP9bfpLkx2m9dXvNpGlJq7VeX2vdXGvdfPzxx8/LNk46qff5c9F2cpvZ9Dlh2RTH8Knm99JvL+se6SbGZpCx6Pe1MKdOemDaxcvSfQenmt+LZVmWkzLVi3mKeKaJc6KvKfucpZPaP3NlNvFNt+3O+b206XXZXPY1SJ8sIg7y80UONl+mO3nOdGJd8BPvAjqS922B9Ho+6/UcP+h2emk703YWy7l4ylj6yAWn7W8uzRDDvFj2s2kXT3eN2K/Z9jlo2jCxfq/bHOSQP9W2p1t3Yn4/1+Kzjafff8t+YlsIUxanSinnJ9mdZCTJL9Va/7jW+r9OTHOw7YeSvKDj+YnteV3blFKWJzk2ySPTrNtLnwtmx45kZOTQeSMjrflz3bbberPpc8K2bbObP1NcIyOtdaeLt18jI8mWLd2XbdmSDA/P/Tb7sWLFM2Peyzh2M91rYcXI/v6Dm43hp5MdV065eCQj2ZZtGclI1/krsqKvzW7LtuzIjsP6TdKKZ+THkwL58ZRxjmQkO9IayCn7nIWJ/nZkR4bm4PslZhNf57a7jflEP1P1NbnNZLNdZ0d2dP03Hs7wtNvpNz4Wkdke2KY6cHOQHGye7djROjlPNjw8fZI0se5USc3y5YPH1pTOZIW+9Xo+6/UcP+h2emk70/m72/orsiLD6Z5oD2e475xvKiuyYspYZpsLTu5vkD+gzqhbbD29U2umNjXPP3Xf4dcAIz/O0LYPT3ltMN01Yqfh4eT5z+8hzFn0OWHZssGvDSfSjh07Zr7em+mwPtX161SpSmfKM9O1dj/X4t3WGR7uXtAb5LDdT2wLYqrP+yX5cpLTevlsYD9TWvcv+G5aN9OcuHHmaZPa/H4OvRnnx9uPT8uhN+P8blo34pyxz27TfN7vYOfO1mc3S2n9nukGaP20Xbu2NXVbbzZ9Tti+/ZnPAk/ctK5XU21vuni3b+++bNWqWoeGnoljy5bufU8V786drb4mPkO7du0z20pa/UwsW726tb2J56tWdY8xeSamzscT21+79tB+1q49fMw74x0aarWfvO/T/Zt2G/O1G56oKT+rWf1YTdlfOz+HPrGtVatqLUM/ay0b2l9zzI/b7Q4cMjYT21+5+icHl2ftvxy8seTE/aPWtn9KLXVD3XDIjTU31A1d56+taw/5LP6quqoeU4/p+jn9oTpUt9dnXnwT/XbGsKwua8W14b7W/m/4Xl2x8388GNdUMU7uc2L59rr9sG1MvtH5xPPJ/e2sO+vKuvKQthM3BJ1qzCa210t80+3LVGM+3b72crPx2a4z+d94bV3b803N+4mPRaTXm6I3dDP0Wnu/38FimORgC6BbktDrnWAnkprOk+zEyXr79kMThW5TZwIyyNR5gu+cv3p1K47O/etcZ8uW/vedGfV6Puv1HD/odnppO9P5u9v63fKyycs6962zXbecr1vONV0sh+RXO/9zXbvhiVYOu+GJumrnmw6uX2qZsb9VddUhsWypWw6ZNznOQ/LQ9n5vqVsOPi+11NV1dWv/27GlHKjLNjxYs/2DdWjDAzX5Wfv+UO28/GDO/cO6ZftdddXaf31m3qTp1C17WrF3XgNs+F5du/M/t0Z/mkPUwf3uaNN5yOo8HJx66vSHsOmuO9euPfx7J1atmvracPXq7oerU0+d/rp08qG88/Da66FtquvXXq6JZ7rW7udavNs6g5yyZrOd+dJrDjbtPafmWynl15P8WTup+ata645Syrvawd9SSlmZ1n0W/n2SHyV5fa31u+11r0ryxiT7k/xBrfXvpupzpjg2b95cx8fH534HAYBFYandc2q+ycEAgIXQaw7WaHFqsZAYAcCRTXFqcZKDAcCRba5uiA4AAAAA80ZxCgAAAIDGKE4BAAAA0BjFKQAAAAAaozgFAAAAQGMUpwAAAABojOIUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxihOAQAAANAYxSkAAAAAGqM4BQAAAEBjFKcAAAAAaIziFAAAAACNUZwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilMAAAAANEZxCgAAAIDGKE4BAAAA0BjFKQAAAAAaozgFAAAAQGMUpwAAAABojOIUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxihOAQAAANAYxSkAAAAAGqM4BQAAAEBjFKcAAAAAaEwjxalSynGllM+WUu5u/37OFO0ua7e5u5RyWcf8l5VS/qmUck8p5QOllNKef3Up5aFSyu729OsLtU8AAIudHAwAWIyaeufUFUk+V2t9UZLPtZ8fopRyXJI/TvLyJGcl+eOOBOovkrwpyYva0/kdq76/1rqpPX1qHvcBAGCpkYMBAItOU8WpC5Pc0H58Q5KLurTZmuSztdYf1Vr3JflskvNLKc9L8qxa6x211prkxinWBwDgUHIwAGDRaao49dxa68Ptx/+c5Lld2qxP8mDH8z3teevbjyfPn/CWUso3Sil/NdVb1ZOklLKtlDJeShnfu3dvXzsBALDEyMEAgEVn3opTpZTbSil3dpku7GzX/stbnaPN/kWSX0iyKcnDSf63qRrWWq+vtW6utW4+/vjj52jzAADNkoMBAEvN8vnquNZ67lTLSik/KKU8r9b6cPst4v/SpdlDSV7d8fzEJLe35584af5D7W3+oGMb/0eSv+03fgCApUgOBgAsNU19rO+WJBPf/HJZkk92aXNrkvNKKc9pvzX8vCS3tt+K/ngp5ez2N8S8YWL9dpI14eIkd87XDgAALEFyMABg0Zm3d07N4JokHy+l/F6S+5P890lSStmc5M211v9Ua/1RKeXdSb7WXuddtdYftR9fnuQjSX4uyd+1pyT501LKprTeon5fkv9pAfYFAGCpkIMBAItOad1u4Oi2efPmOj4+3nQYAMA8KaXsqrVubjoODiUHA4AjW685WFMf6wMAAAAAxSkAAAAAmqM4BQAAAEBjFKcAAAAAaIziFAAAAACNUZwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilMAAAAANEZxCgAAAIDGKE4BAAAA0BjFKQAAAAAaozgFAAAAQGMUpwAAAABojOIUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxihOAQAAANAYxSkAAAAAGqM4BQAAAEBjFKcAAAAAaIziFAAAAACNUZwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjWmkOFVKOa6U8tlSyt3t38+Zot1l7TZ3l1Iu65i/o5TyYCnlyUntjymlfKyUck8p5R9KKaPzuycAAEuHHAwAWIyaeufUFUk+V2t9UZLPtZ8fopRyXJI/TvLyJGcl+eOOBOr/bs+b7PeS7Ku1vjDJ+5O8Zx5iBwBYquRgAMCi01Rx6sIkN7Qf35Dkoi5ttib5bK31R7XWfUk+m+T8JKm13lFrfXiGfm9KsqWUUuY0cgCApUsOBgAsOk0Vp57bkdj8c5LndmmzPsmDHc/3tOdN5+A6tdb9SR5LsrZbw1LKtlLKeCllfO/evbOJHQBgqZKDAQCLzvL56riUcluSf9dl0VWdT2qttZRS5yuOqdRar09yfZJs3rx5wbcPADAf5GAAwFIzb8WpWuu5Uy0rpfyglPK8WuvDpZTnJfmXLs0eSvLqjucnJrl9hs0+lOQFSfaUUpYnOTbJI7OJGwBgKZODAQBLTVMf67slycQ3v1yW5JNd2tya5LxSynPaN+E8rz2v135fl+TztVZ/kQMAaJGDAQCLTlPFqWuS/Gop5e4k57afp5SyuZTyl0lSa/1Rkncn+Vp7eld7Xkopf1pK2ZNkpJSyp5RydbvfDydZW0q5J8n/nC7fQAMAcBSTgwEAi07xR63W/Q7Gx8ebDgMAmCellF211s1Nx8Gh5GAAcGTrNQdr6p1TAAAAAKA4BQAAAEBzFKcAAAAAaIziFAAAAACNUZwCAAAAoDGKUwAAAAA0RnEKAAAAgMYoTgEAAADQGMUpAAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilMAAAAANEZxCgAAAIDGKE4BAAAA0BjFKQAAAAAaozgFAAAAQGMUpwAAAABojOIUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxihOAQAAANAYxSkAAAAAGlNqrU3H0LhSyt4k989xt+uS/HCO++QZxnd+Gd/5Z4znl/GdX0txfDfUWo9vOggONU852NFgKf4fXEyM3+CM4eCM4eCM4eAWYgx7ysEUp+ZJKWW81rq56TiOVMZ3fhnf+WeM55fxnV/GF5rl/+BgjN/gjOHgjOHgjOHgFtMY+lgfAAAAAI1RnAIAAACgMYpT8+f6pgM4whnf+WV8558xnl/Gd34ZX2iW/4ODMX6DM4aDM4aDM4aDWzRj6J5TAAAAADTGO6cAAAAAaIziFAAAAACNUZwaQCnluFLKZ0spd7d/P2eKdp8upTxaSvnbSfM/Ukr5Xilld3vatDCRLw1zML4nl1L+oZRyTynlY6WUFQsT+dIwi/G9rN3m7lLKZR3zby+lfLvj9XvCwkW/eJVSzm+Pyz2llCu6LD+m/Xq8p/36HO1Y9o72/G+XUrYuZNxLSb9jXEoZLaX8a8dr9rqFjn0p6GF8/0Mp5eullP2llNdNWtb1eAHMnjxoMPKc/sllBidXGYxcZHADjuHPOl6DtyxY0LVWU59Tkj9NckX78RVJ3jNFuy1JLkjyt5PmfyTJ65rej8U6zcH4fjzJ69uPr0uyvel9WkxTL+Ob5Lgk323/fk778XPay25Psrnp/VhMU5JlSe5N8vNJViT5xySnTmpzeZLr2o9fn+Rj7centtsfk+Tkdj/Lmt6nxTYNOMajSe5seh8W89Tj+I4mOSPJjZ3nsOmOFyaTafaTPGj+x0+e03Xc5DLNjuFRn6vIRZodw/ayJ5uI2zunBnNhkhvaj29IclG3RrXWzyV5YqGCOoL0Pb6llJLkNUlummn9o1gv47s1yWdrrT+qte5L8tkk5y9QfEvRWUnuqbV+t9b6kyR/k9Y4d+oc95uSbGm/Xi9M8je11n+rtX4vyT3t/jjUIGPMzGYc31rrfbXWbyQ5MGldxwuYW/Kgwchz+iOXGZxcZTBykcENMoaNUZwazHNrrQ+3H/9zkuf20ceOUso3SinvL6UcM4exHQkGGd+1SR6tte5vP9+TZP1cBncE6GV81yd5sOP55HH8b+23e77TCTXJzON1SJv26/OxtF6vvazLYGOcJCeXUv7fUsoXSymvnO9gl6BBXodewzC35EGDkef0Ry4zOLnKYOQigxt0HFaWUsZLKXeUUhbsDxvLF2pDS1Up5bYk/67Loqs6n9RaaymlzrL7d6R1slyR5Pok/0uSd/UT51I1z+N71Jvn8b201vpQKWVNkk8k+d203hYKi9XDSU6qtT5SSnlZkv+rlHJarfXxpgMDjk7yoMHIczgCyVVYDDa0j38/n+TzpZR/qrXeO98bVZyaQa313KmWlVJ+UEp5Xq314VLK85L8yyz7nvhrzr+VUv5bkrcPEOqSNI/j+0iSZ5dSlrf/GnFikocGDHfJmYPxfSjJqzuen5jWPRhSa32o/fuJUspfp/X20aM9aXsoyQs6nnd73U202VNKWZ7k2LRer72sywBjXFsfov+3JKm17iql3JvklCTj8x710jHI63DK4wXQnTxoMPKceSGXGZxcZTBykcEN9H+x4/j33VLK7Un+fVr3sJpXPtY3mFuSTHwDwGVJPjmbldsnyon7AlyU5M45jW7p63t82wf2LySZ+OaBWf/7HAV6Gd9bk5xXSnlOaX3LzXlJbi2lLC+lrEuSUspwkt+M12+SfC3Ji0rrG5JWpHWDy8nfcNE57q9L8vn26/WWJK9vf3vLyUlelOSrCxT3UtL3GJdSji+lLEuS9l+CXpTWjTJ5Ri/jO5Wux4t5ihOOBvKgwchz+iOXGZxcZTBykcH1PYbtsTum/XhdknOSfGveIu20UHdePxKntD4X/Lkkdye5Lclx7fmbk/xlR7svJ9mb5F/T+rzn1vb8zyf5p7ROdjuTrG56nxbTNAfj+/NpnRDvSfJ/Jjmm6X1aTNMsxveN7TG8J8l/bM9blWRXkm8k+WaS/5qj8NtYphjXX0/ynbT+unBVe967kry2/Xhl+/V4T/v1+fMd617VXu/bSX6t6X1ZrFO/Y5zkt9qv191Jvp7kgqb3ZTFOPYzvme1j7Y/T+kv5NzvWPex4YTKZ+pvkQQs2fvKcw8dOLtPQGMpVeh4/ucg8jWGS/y6tGsU/tn//3kLFXNoBAAAAAMCC87E+AAAAABqjOAUAAABAYxSnAAAAAGiM4hQAAAAAjVGcAgAAAKAxilPAUaGU8oJSyvdKKce1nz+n/Xy02cgAAI5ccjCgF4pTwFGh1vpgkr9Ick171jVJrq+13tdYUAAARzg5GNCLUmttOgaABVFKGU6yK8lfJXlTkk211p82GxUAwJFNDgbMZHnTAQAslFrrT0spf5jk00nOkxQBAMw/ORgwEx/rA442v5bk4SQbq0FWSAAAAKlJREFUmw4EAOAoIgcDpqQ4BRw1SimbkvxqkrOTvK2U8ryGQwIAOOLJwYCZKE4BR4VSSknrZpx/UGt9IMl7k7yv2agAAI5scjCgF4pTwNHiTUkeqLV+tv38Q0leUkp5VYMxAQAc6eRgwIx8Wx8AAAAAjfHOKQAAAAAaozgFAAAAQGMUpwAAAABojOIUAAAAAI1RnAIAAACgMYpTAAAAADRGcQoAAACAxvz/gMtW7oB/YSUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x720 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 将数据降低至1维\n",
    "def plot_Isomap_k_d1(*data):\n",
    "    x,y = data\n",
    "    Ks = [1,5,25,y.size-1]\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(10)\n",
    "    fig.set_figwidth(20)\n",
    "    for i,k in enumerate(Ks):\n",
    "        lle = manifold.LocallyLinearEmbedding(n_components=1, n_neighbors=k)\n",
    "        x_r = lle.fit_transform(x)\n",
    "        \n",
    "        ax = fig.add_subplot(2,2,i+1)\n",
    "        colors=((1,0,0),(0,1,0),(0,0,1),(0.5,0.5,0),(0,0.5,0.5),(0.5,0,0.5),(0.4,0.6,0),(0.6,0.4,0),(0,0.6,0.4),(0.5,0.3,0.2),)\n",
    "        for label,color in zip(np.unique(y),colors):\n",
    "            position =y==label\n",
    "            ax.scatter(x_r[position,0], np.zeros_like(x_r[position]), label='target={0}'.format(label),color=color)\n",
    "    \n",
    "        ax.set_xlabel('X')\n",
    "        ax.set_ylabel('Y')\n",
    "        ax.legend(loc='best')\n",
    "        ax.set_title('k ={0}'.format(k))\n",
    "    plt.suptitle('LLE')\n",
    "    plt.show()\n",
    "\n",
    "x,y =load_data()\n",
    "plot_Isomap_k_d1(x,y)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
